package com.ym.medical.enums;

import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.util.StdConverter;
import com.ym.common.annotations.EnumDescription;
import com.ym.common.constant.DictEnum;

/**
 * 医院等级
 */
@EnumDescription("医院等级")
public enum HospitalLevelEmun implements DictEnum {

    //--------------------start-----------------

    /**
     * 三级甲等
     */
    Three_Grade_A("01","三级甲等"),
    /**
     * 三级乙等
     */
    Three_Grade_B("02","三级乙等"),
    /**
     * 三级丙等
     */
    Three_Grade_C("03","三级丙等"),
    /**
     * 二级甲等
     */
    Second_Grade_A("04","二级甲等"),
    /**
     * 二级乙等
     */
    Second_Grade_B("05","二级乙等"),
    /**
     * 二级丙等
     */
    Second_Grade_C("06","二级丙等"),
    /**
     * 一级甲等
     */
    One_Grade_A("07","一级甲等"),
    /**
     * 一级乙等
     */
    One_Grade_B("08","一级乙等"),
    /**
     * 一级丙等
     */
    One_Grade_C("09","一级丙等"),

    //--------------------end-------------------
    ;

    private String key;

    private String value;

    HospitalLevelEmun(String key, String value) {
        this.key = key;
        this.value = value;
    }

    @Override
    public String getKey() {
        return this.key;
    }

    @Override
    public String getValue() {
        return this.value;
    }

    /**
     * 序列化使用
     */
    public static class Covert extends StdConverter<String, JSONObject> {
        @Override
        public JSONObject convert(String value) {
            return DictEnum.valueOfJson(HospitalLevelEmun.class, value);
        }
    }
}
